oauth2-proxy と Basic 認証を併用する
追記
リバースプロキシ機能で十分かも
ユースケース
oauth2-proxyによるログインが行えないソフトウェアからのアクセスのために https://user:pass@hostname でもアクセスできるようにしたい OAuthでログインしたあとに手に入る情報にn日m回ローテートされるuser:passがあるイメージ
方法
satisfy any;
code:user.conf
location /oauth2/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Auth-Request-Redirect $request_uri;
}
location = /oauth2/auth {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header Content-Length "";
proxy_pass_request_body off;
}
location /user {
satisfy any;
auth_basic "Auth";
auth_basic_user_file "/etc/nginx/htpasswd";
auth_request /oauth2/auth;
error_page 401 = /oauth2/sign_in;
}